package model

import (
	"choujiang/common/db"
	"fmt"
)

type HzwUserExtra struct {
	Id             int64  `xorm:"INT(11) not null pk autoincr" json:"id"`
	UserId         int64  `xorm:"INT(11) not null default 0" json:"user_id"`
	UserUniqueId   string `xorm:"VARCHAR(50) not null unique" json:"user_unique_id"`
	ParentId       int64  `xorm:"INT(11) not null default 0" json:"parent_id"`
	ParentUniqueId string `xorm:"VARCHAR(50) not null unique" json:"parent_unique_id"`
	MpOpenId       string `xorm:"VARCHAR(50)" json:"mp_open_id"`
	Superior       int64  `xorm:"INT(11) not null default 0" json:"superior"`

	CreatedAt int64 `xorm:"not null default 0 INT(11) created" json:"-"`
	UpdatedAt int64 `xorm:"not null default 0 INT(11) updated" json:"-"`
}

func (u *HzwUserExtra) Insert() (*HzwUserExtra, error) {
	_, err := db.MysqlEngine.InsertOne(u)
	return u, err
}

func (u *HzwUserExtra) Update() (*HzwUserExtra, error) {
	_, err := db.MysqlEngine.ID(u.Id).Update(u)
	return u, err
}

func GetHzwUserExtraByUid(uid int64) *HzwUserExtra {
	userExtra := new(HzwUserExtra)
	has, err := db.MysqlEngine.Where("user_id=?", uid).Get(userExtra)
	fmt.Printf("GetHzwUserExtraByUid err %+v\n", err)
	if !has || err != nil {
		return nil
	}
	return userExtra
}
